home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / faq / learnccc.faq < prev    next >
Encoding:
Internet Message Format  |  1995-04-20  |  49.4 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!hookup!lamarck.sura.net!howland.reston.ans.net!spool.mu.edu!vinny.csd.mu.edu!root
  2. From: carpenterv@vms.csd.mu.edu (V. S. Carpenter)
  3. Newsgroups: comp.lang.c,comp.lang.c.moderated,comp.lang.c++,news.answers,comp.answers
  4. Subject: LEARN C/C++ TODAY (A list of resources/tutorials)
  5. Followup-To: comp.lang.c,comp.lang.c++
  6. Date: 15 Apr 1995 21:44:24 GMT
  7. Organization: Vinny's Linux PC
  8. Lines: 1029
  9. Approved: news-answers-request@MIT.EDU,clc@solutions.solon.com
  10. Expires: 1 May 1995 00:00:00 GMT
  11. Message-ID: <learn-123094@vinny.csd.mu.edu>
  12. NNTP-Posting-Host: vinny.csd.mu.edu
  13. Keywords: learn c c++ programming tutorials WWW
  14. X-Submissions-to: carpenterv@vms.csd.mu.edu 
  15. X-Questions-to: carpenterv@vms.csd.mu.edu 
  16. Originator: root@vinny.csd.mu.edu
  17. Xref: senator-bedfellow.mit.edu comp.lang.c:134691 comp.lang.c.moderated:393 comp.lang.c++:122520 news.answers:42033 comp.answers:11276
  18.  
  19.  
  20. Archive-name:    C-faq/learn-c-cpp-today
  21. Last-modified:  Saturday - April 15, 1995
  22.  
  23.                         Copyright (c) 1994  Vinit Carpenter 
  24.                                 All rights reserved
  25.  
  26.  
  27. Introduction:
  28. -------------
  29.  
  30.     This is a list of a  few  C  and  C++ language tutorials available to a
  31.     user.   This  list includes interactive tutorials,  public-domain  code
  32.     collections, books etc.  I've developed this FAQ purely as a  volunteer
  33.     effort  as  a service to the Internet community.  Although every effort
  34.     has been made to insure that all the information here is as accurate as
  35.     possible, no guarantee is implied or intended.
  36.  
  37.     I welcome comments, suggestions  or  criticism  for  all the people out
  38.     there  on the net that read this.  If you can help me make this list  a
  39.     little better, you will be helping a lot of people  out  there  on  the
  40.     net.   I  am  a horrible writer and an even worse speller.  If you find
  41.     any errors or would like to  suggest  any additions please feel free to
  42.     email me at the address below:
  43.  
  44.             carpenterv@vms.csd.mu.edu
  45.  
  46.   
  47. What's new in this issue:
  48. -------------------------
  49.  
  50.     This section of the  document  will  point  out  all the new additions,
  51.     corrections,  updates  etc.  If there is enough interest, I will  start
  52.     producing a 'diff' version.  
  53.  
  54.     1. Added a second web server that has the HTML and PS version of this 
  55.        document.
  56.     2. Updated the information on the 'C++ on the WWW'.  The address has
  57.        of the web server has changes.  The author also converted Dordill's
  58.        C++ course to HTML which is online.
  59.     3. Updated the information in the MSDOS/Windows compilier section.
  60.     4. Added a new item called `Programming in C' that contains a great 
  61.        collection of C and programming items.
  62.     5. Updated the information on the C++ FAQ.  
  63.     6. Added a lot of information on OS/2. (Joe Dougherty)
  64.     7. Added more information about Scott Meyers new book titled "More
  65.        Effective C++". 
  66.     8. Updated the oak.oakland.edu info and the directory structure has
  67.        been changed.
  68.     9. Update the information on the C Snippets packages.  The author 
  69.        released a new package that includes 400+ files.
  70.  
  71.  
  72.     I am switching to URL in place of the standard ftp and filename format.
  73.     URL stands for "Uniform Resource Locator".   Think of it as a networked
  74.     extension of the standard filename concept: not only can you point to a
  75.     file  in a directory, but that file and that directory can exist on any
  76.     machine on the network, can be served  via  any  of  several  different
  77.     methods,  and might not even be something as simple as a file: URLs can
  78.     also point to  queries,  documents  stored  deep  within databases, the
  79.     results of a finger or archie command, or whatever.
  80.    
  81.     File URL:
  82.     ---------
  83.     file://oak.oakland.edu/simtel/msdos/c/00_index.txt
  84.  
  85.     Gopher URL:
  86.     -----------
  87.     To connect to a particular gopher server, use this URL:
  88.  
  89.     gopher://gopher.tc.umn.edu/
  90.  
  91.     News URL:
  92.     ---------
  93.     To point to a Usenet Newsgroups, the URL is simply:
  94.  
  95.     news:comp.lang.c
  96.  
  97.     HTTP URL:
  98.     ---------
  99.     HTTP  stands  for  HyperText  Transport  Protocol.   HTTP  servers  are
  100.     commonly used for serving hypertext documents
  101.  
  102.     http://vinny.csd.mu.edu
  103.  
  104.     This file is posted on the 1st and the 15th of each month to the Usenet
  105.     Newsgroups  COMP.LANG.C,  COMP.LANG.C++,  NEWS.ANSWERS  & COMP.ANSWERS.
  106.     The  HTML  and  postscript  version of this  documents  are  available.
  107.     Here's the URL:
  108.  
  109.     http://vinny.csd.mu.edu                   
  110.  
  111.     NOTE: This is my Linux PC  that  does  get inundated with request.  The
  112.     last  time  I checked the stats, there were about 27 connections  every
  113.     minute.  If you get timed out, please try  again.   The  most  recently
  114.     posted  version of this document is kept on the news.answers archive on
  115.     rtfm.mit.edu.  You can receive it via anonymous ftp.  The URL is listed
  116.     below.
  117.     
  118.         ftp://rtfm.mit.edu/pub/usenet/news.answers/C-faq/learn-c-cpp-today
  119.  
  120.     If you don't have access to ftp, you can also receive this file via
  121.     e-mail by sending mail to mail-server@rtfm.mit.edu with:
  122.  
  123.     send /pub/usenet/news.answers/C-faq/learn-c-cpp-today
  124.  
  125.     in the body (not subject line) of your message. You can also receive
  126.     the latest version via electronic mail by e-mailing me.
  127.     
  128.         To: learncpp@vinny.csd.mu.edu
  129.     Subject: send learn-c-cpp-today
  130.     Body: ignored. Can be blank.
  131.  
  132.     A lot of tutorials discussed here  are available via anonymous ftp.  If
  133.     you  don't have ftp, you can also retrieve these files via a  ftp-email
  134.     gateway.    To   retrieve   files   via   e-mail,    send    mail    to
  135.     ftpmail@decwrl.dec.com with the command HELP in the body of the message
  136.     to  receive  a  complete list of all commands.  A typical message would
  137.     look something like this:
  138.  
  139.             connect oak.oakland.edu
  140.             chdir /simtel/msdos/c
  141.             binary
  142.             uuencode
  143.             get xxx.zip
  144.             quit
  145.  
  146.     Some of the items discussed  here  are  platform-dependent, but most of
  147.     the  items are applicable across all platforms (portable).  If you have
  148.     any comments, suggestions, complaints, additions, etc, please feel free
  149.     to e-mail me at the following address:
  150.  
  151.         carpenterv@vms.csd.mu.edu
  152.  
  153.     If you are working on a tutorial or would like something added to this
  154.     list, please e-mail me at the address given above.
  155.  
  156. The Origins of C and C++:
  157. -------------------------
  158.  
  159.     The  'C'  programming  language   was   originally  developed  for  and
  160.     implemented  on  the UNIX operating system, on a DEC PDP-11  by  Dennis
  161.     Ritchie.  One of the best features of C is that it is not tied  to  any
  162.     particular  hardware or system.  This makes it easy for a user to write
  163.     programs that will run without any changes on practically all machines.
  164.     C is often called a  middle-level  computer language as it combines the
  165.     elements  of  high-level languages with the functionalism  of  assembly
  166.     language.
  167.  
  168.     C allows the  manipulation  of  bits,  bytes  and  addresses- the basic
  169.     elements with which the computer functions.  Another good point about C
  170.     is  its  portability which makes it possible to adapt software  written
  171.     for one type of computer to another.  C was  created,  influenced,  and
  172.     field  tested  by  working programmers.  The end result is that C gives
  173.     the programmer what  the  programmer  wants.   C  offers  the  speed of
  174.     assembly  language  and  the  extensibility of FORTH, but  few  of  the
  175.     restrictions of Pascal and Modula-2.
  176.  
  177.     C++ is an enhanced version of  the C language.  C++ includes everything
  178.     that  is  part  of C and adds support for  object-oriented  programming
  179.     (OOP).  In addition, C++ also contains many improvements  and  features
  180.     that  make it a "better C", independent of object oriented programming.
  181.     C++ is actually an extendible language since we can define new types in
  182.     such a way that they act just  like the predefined types which are part
  183.     of the standard language.
  184.  
  185.     If you just use C++ as a  better  C,  you  will not be using all of its
  186.     power.  Like any quality tool, C++ must be used the way it was designed
  187.     to  be used to exploit its richness.  Some of the new features  include
  188.     encapsulation,   inline   function   calls,   overloading    operators,
  189.     inheritance and polymorphism.  I am not going to explain what they mean
  190.     here  as  that  would simply take me away from my purpose here, but you
  191.     can refer to any  good  C++  book  or  the  C++  FAQ  (Item 7) for more
  192.     information.
  193.      
  194.  
  195. What do you need to get started?
  196. --------------------------------
  197.  
  198.     The first thing you need is  a  compiler.   A compiler reads the entire
  199.     program and converts it into object code, which is a translation of the
  200.     program source code into a form that the computer can execute directly.
  201.  
  202.     
  203. UNIX SYSTEM:
  204.     
  205.     Type cc at the %  prompt.   If  you  don't  get any error messages, you
  206.     probably have a C compiler .  If you get an error message, try acc, gcc
  207.     or  g++.   If  any  of  these don't work,  contact  your  local  system
  208.     administrator and ask him/her to get you a C/C++ compiler.   GNU  C/C++
  209.     compiler is available from a lot of anonymous ftp sites free of charge.
  210.     Look  into  it.   (I've  got  g++  running  on my Linux box without any
  211.     problems)
  212.     
  213. MSDOS/Windows/OS2/Linux (IBM COMPATIBLES): 
  214.     
  215.     There are a lot of good compilers  available to you.  Microsoft Quick C
  216.     and  Borland Turbo C/C++ are both good products for beginners.  You can
  217.     buy both of them for  under  $50.00.   I  use  Microsoft  Quick  C  and
  218.     MS-Visual  C/C++, and I prefer Quick-C for all my DOS programs as it is
  219.     small, and yet very powerful.   Most  of  my  programming  is now on my
  220.     Linux  PC with gcc/g++.  (If you want a great 32 bit operating  system,
  221.     you should look into Linux.  E-mail me for details).  You can also  get
  222.     the   DOS   port   of  GNU  C/C++  called  DJGPP  from  oak.oakland.edu
  223.     /simtel/msdos/djgpp.
  224.  
  225.     The increased popularity of OS/2 and  it's latest incarnation Warp, has
  226.     provided   programmers   with  a  wider  selection  of  compilers   and
  227.     programming tools.  Still available for free is  the  GNU  gcc  package
  228.     under  the  name  emx.   Emx integrates nicely with the Extended Editor
  229.     included with OS/2.  It's  available on ftp.cdrom.com, hobbes.nmsu.edu,
  230.     and  other  sites.  IBM provides the CSet++ 2.x, as well as a  smaller,
  231.     less-expensive package on  CD-ROM  called  CSet++  First  Step.   Other
  232.     popular  compilers  include  Borland C++ 1.0 for OS/2, and Watcom C/C++
  233.     for OS/2 10.0, and CA-C++ for OS/2 from Computer Associates.
  234.  
  235.     
  236. OpenVMS (VAX & AXP)
  237.     
  238.     If you're on a VAX, type  in  CC  to  check  and  see if you have a C
  239.     compiler.  VAX C is not the best compiler around, but it certainly does
  240.     the  job.   If  you don't have a C compiler, look into  the  GNU  C/C++
  241.     compiler GCC.  You can get the VAX version of GCC from ftp.spc.edu  via
  242.     anonymous  ftp.   If  on  a  AXP  system, you should have access to DEC
  243.     C/C++.  Please contact  your  local  system  administrator  or computer
  244.     consultant for more site specific questions.
  245.  
  246. Macintosh (Apple/PowerMac)
  247.  
  248.     There are three main  players  in  the  Mac  compiler market: MPW (from
  249.     Apple),  THINK  C / Symantec C++ (both from Symantec),  or  CodeWarrior
  250.     (from Metroworks): THINK C is $225 (only a C compiler), while  Symantec
  251.     C++ is $375 (includes C and C++ compilers).  CodeWarrior comes in three
  252.     versions:  bronze,  silver,  and  gold,  at $199/299/399, respectively.
  253.     Bronze generates 68K  code,  silver  generates  PowerPC  code, and gold
  254.     generates  both.   All  three  versions  include  C,  C++,  and  Pascal
  255.     compilers.  The Symantec C++ compiler (ver 7.0) can be  bought  with  a
  256.     cross-compiler for the PowerMac.
  257.  
  258.     There have been  two  attempts  at  freeware/shareware Mac C compilers:
  259.     Sesame  C  and  Harvest.   Harvest  C was an  ambitious  attempt  at  a
  260.     production-quality  freeware compiler which was later abandoned by  the
  261.     author.
  262.  
  263.  
  264. Tutorials:
  265. ----------
  266.  
  267. 1) Title:       A C tutorial. 
  268.    Filename:    C-LESSON.ZIP
  269.    Author:    Christopher Sawtell.
  270.    E-mail:    chris@gerty.equinox.gen.nz
  271.    URL:        ftp://garbo.uwasa.fi/pc/c-lang/c-lesson.zip
  272.  
  273.     This tutorial contains  a  complete  course  for  you  to learn the 'C'
  274.     computer  language itself.  Some knowledge, of computers and the jargon
  275.     is  assumed,  but  complicated  concepts  are  fully  explained.   This
  276.     tutorial  is  geared  towards the UNIX operating system, but everything
  277.     discussed here applies across all  platforms.   Most of the source code
  278.     included  here compiles under all the platforms.  This is a good effort
  279.     and is worth your time.  Updates to this tutorials are  posted  to  the
  280.     USENET group comp.lang.c.
  281.  
  282. 2) Title:    Coronado;s Generic C tutor v2.0
  283.    Filename:    GENCSRC.ZIP
  284.         GENCTXT.ZIP   
  285.    Author:    Gordon Dodrill
  286.    E-mail:    --
  287.    URL:        ftp://oak.oakland.edu/simtel/msdos/c/gencsrc.zip
  288.            ftp://oak.oakland.edu/simtel/msdos/c/genctxt.zip
  289.  
  290.  
  291.     This is one of the most complete tutorials out there.  Once again, most
  292.     of the items covered here  are  apply  across all platforms.  There are
  293.     some  items  discussed  here  that are  DOS  dependent.   The  tutorial
  294.     includes a manual that covers all the aspects of the C  language.   The
  295.     archive  also includes a huge collection of C code that is discussed in
  296.     this tutorial.   The  best  way  to  learn  anything  is  by  practical
  297.     application  and this tutorial does just that.  A payment of $10.00  is
  298.     requested by the author if you  find  the  tutorial  helpful,  but  the
  299.     payment  is  not  required.  I think you should send in the $10.00 as a
  300.     lot of time and effort went into this project.
  301.  
  302. 3) Title:    Thread An On-Line C Help File V 1.01
  303.    Filename:    THREAD.ZIP
  304.    Author:    Fran Horvath
  305.    E-mail:    --
  306.    URL:        ftp://oak.oakland.edu/simtel/msdos/c/thread.zip
  307.  
  308.  
  309.     Thread is a C language help utility.  It was written by a member of the
  310.     U.S.D.A.  Grad School faculty to help students learning the C language.
  311.     Thread is a variable  record-length  database,  together with an index,
  312.     that  enables  the  fast lookup and  display of  C  keywords,  standard
  313.     library  functions,  and  other  items.   There  are  a  few  important
  314.     functions missing from this help utility, but it is still a pretty good
  315.     resource.  Give it a shot.
  316.  
  317. 4) Title:    Collection of C-Snippets
  318.    Filename:    SNIP9404.ZIP
  319.    Author:    Bob Stout
  320.    E-mail:    bobstout@neosoft.com
  321.    URL:        ftp://oak.oakland.edu/simtel/msdos/c/snip9503.zip
  322.  
  323.     This  is  the  March  95   release   of  SNIPPETS  which  is  a  public
  324.     domain/freeware portable C source code & instructional text.  According
  325.     to  the  author,  the  1.6  MB archive  contains  over  400  files  and
  326.     approximately 35% of it is PC-specific.  The rest of it  is  completely
  327.     portable.  The PC-specific functions are system-level utility code with
  328.     no multimedia or GUI code.  This archive has been tested on all popular
  329.     PC  compilers  and  gcc,  SCO,  and HP/UX compilers where possible.  An
  330.     eclectic  collection  containing  everything  from  macros  to complete
  331.     cut-and-paste  C  code  solutions  &  utilities,  along  with  FAQ  and
  332.     instructional files.
  333.  
  334.     There is a piece of code for  every single task starting with macros to
  335.     complete  cut-and-paste C code solution and utilities, along with  some
  336.     frequently asked questions and instructional files.  This archive is  a
  337.     must for every programmer.  If you already have a copy of snip9404.zip,
  338.     see   snpd9503.zip  which  includes  the  diff  needed  to  upgrade  to
  339.     snip9503.zip.  Numerous bug fixes  and  enhancements  were made in this
  340.     archive and 60 New files added.
  341.  
  342.     This is Public  Domain/freeware  created  by  the archivist, ex Fidonet
  343.     C_Echo moderator and author, Bob Stout
  344.  
  345.  
  346. 5) Title:    COMP.LANG.C FAQ
  347.    Filename:    FAQ
  348.    Author:     Steve Summit 
  349.    E-mail:     scs@eskimo.com 
  350.    URL:     ftp://rtfm.mit.edu/pub/usenet/news.answers/C-faq/faq
  351.    
  352.  
  353.     The FAQ (Frequently Asked  Questions)  is  a compilation of frequently-
  354.     asked  questions  of  the  usenet group,  COMP.LANG.C  along  with  the
  355.     answers.  Steve's put in a lot of work and this compilation  shows  it.
  356.     I  found that the FAQ answered a lot of my questions.  I even learned a
  357.     lot of new things  browsing  through  the  document.   I think this FAQ
  358.     should  should  be  on  your  computer desk right  next  to  a  good  C
  359.     programming book.  The FAQ is posted to  COMP.LANG.c  and  news.answers
  360.     every month along with the diff version.
  361.  
  362.  
  363. 6) Title:    TUTOR v3.10
  364.    Filename:    CTUTORDE.ZIP
  365.    Author:    Gordon Dodrill
  366.    E-mail:    rowe@netcom.com
  367.    URL:        ftp://oak.oakland.edu/simtel/msdos/c/ctutorde.zip
  368.  
  369.  
  370.     This is an educational learning tool which helps expedite the difficult
  371.     process  of  learning  the  C  Programming  Language.   It  includes  a
  372.     tutorial,  style  guide,  and interactive quiz program  all  integrated
  373.     together in one program.  The tutorial covers both K&R version of C and
  374.     ANSI C.  One of the biggest limitation of this tutorial is that  it  is
  375.     only available for DOS computers.
  376.  
  377.  
  378. 7) Title:    Programming in C
  379.    Filename:    CE.html
  380.    Author:    Dave Marshall
  381.    E-mail:    Dave.Marshall@cm.cf.ac.uk
  382.    URL:        http://www.cm.cf.ac.uk/Dave/C/CE.html
  383.  
  384.     This is one of the best C  programming tutorials out there on the World
  385.     Wide  Web (WWW).  See tutorial #11 for more information on the web  and
  386.     tools to access the web.  This tutorial  starts  out  with  some  basic
  387.     ideas  and  then extends to some more advanced features of C.  With the
  388.     popularity of the World Wide Web, items on the web servers are going to
  389.     be very popular.  This is  really  a  great tutorial and worth checking
  390.     out.   Some  of  the  items discussed here are  loops,  arrays,  string
  391.     manipulation,  pointers,  dynamic  memory  allocation,  I/O,  UNIX,   C
  392.     preprocessor  and  some  exercises.   While you're out there, check out
  393.     Ceilidh, the online C tutoring system.
  394.                                           
  395.  
  396.  
  397. 8) Title:       ANSI C for Programmers on UNIX systems.
  398.    Filename:    love_C.ps.z, love_C.shar
  399.    Author:    Tim Love
  400.    E-mail:    tpl@eng.cam.ac.uk
  401.    URL:        ftp://svr-ftp.eng.cam.ac.uk/pub/misc/love_C.ps.Z
  402.  
  403.  
  404.     This is a really nice C  tutorial  geared towards people on UNIX system
  405.     as  the  title would suggest.  This document introduces C by  providing
  406.     sample programming tasks.  One of the good things about  this  tutorial
  407.     is  that all the source code included is ANSI compliant.  This tutorial
  408.     also includes programming exercises to  aid  or  gauge your progress as
  409.     you  go through the material (answers included in back).  The  tutorial
  410.     covers some of the  basics  such  as  functions,  pointers  and  string
  411.     manipulation  followed  by some programming examples to apply the items
  412.     you've just learned.
  413.  
  414.     There is also a section  on  memory allocation that illustrates the use
  415.     and dangers of malloc.  The section on the Make utility helped me a lot
  416.     as I really don't like make and makefiles.  The section of debugging is
  417.     also  extensive and has some great tips.  The appendix of this tutorial
  418.     also has a section of converting from K&R to ANSI C.  Really great  job
  419.     and well worth the checking into.
  420.  
  421.  
  422. 9) Title:    Coronado Enterprises C++ Tutorial (v2.20)
  423.    Filename:    CPTUTS22.ZIP   
  424.         CPTUTT22.ZIP   
  425.    Author:    Gordon Dodrill
  426.    E-mail:    --
  427.    Phone:    (505) 293-5464
  428.    URL:        ftp://oak.oakland.edu/simtel/msdos/cpluspls/cptuts22.zip
  429.            ftp://oak.oakland.edu/simtel/msdos/cpluspls/cptutt22.zip
  430.  
  431.  
  432.     Just like its C counterpart, this  is  really  one of the best and most
  433.     complete  C++ tutorial out there.  This tutorial is not for the  person
  434.     just starting out in programming as C++ is not an ideal first language.
  435.     But if you are familiar with C or any other programming language,  this
  436.     tutorial  will  get  you started with C++.  All the source discussed in
  437.     this tutorial is included and learning is really accelerated as you can
  438.     compile the code while you  are  reading  about it.  This tutorial will
  439.     assume  a  thorough knowledge of the C programming language and  little
  440.     time will be spent on the fundamental aspects of the language.  Special
  441.     attention has be devoted to explaining the newer additions as  provided
  442.     by  the  ANSI-C  standard, as  many programmers are used to the old K&R
  443.     school of thought.
  444.  
  445. 10) Title:    COMP.LANG.C++ FAQ
  446.    Filename:    FAQ
  447.    Author:     Marshall P. Cline, Ph.D. 
  448.    E-mail:     cline@parashift.com
  449.    URL:     ftp://sun.soe.clarkson.edu/pub/C++/FAQ
  450.     
  451.     Wow!!!  That's really all I can  say about this collection of questions
  452.     and answers for C++ and Object Oriented Programming (OOP).  This is the
  453.     complete FAQ for the Newsgroups COMP.LANG.C++ compiled by Dr.  Marshall
  454.     Cline.  I have been programming in C++ for a few months and am far away
  455.     from  being  an  'expert', and this compilation helped  me  enormously.
  456.     Once again, this is not for the person that is starting to  learn  C++,
  457.     but  if  you've  already taken the first step, this FAQ is for you.  If
  458.     you don't have ftp, you  can  also  receive  it via e-mail by sending a
  459.     message  to archive-server@sun.soe.clarkson.edu with the subject  `send
  460.     C++/FAQ'.
  461.  
  462.     The C++ FAQ has been released as  a book called `C++ FAQS -- Frequently
  463.     Asked  Questions'  by Addison-Wesley.  The book is a complete  re-write
  464.     and contains about 5 times the  material  that  is  indexed  and  cross
  465.     referenced.   Check out the book section for a review of the book.  The
  466.     FAQ will still be  posted  in  the  Newsgroup comp.lang.c++, but if you
  467.     find the FAQ helpful, you should really buy the book.
  468.  
  469.     
  470. 11) Title:    C++ on the World Wide Web
  471.    Filename:    C++.html
  472.    Author:    Marcus Speh
  473.    E-mail:    marcus@x4u.desy.de
  474.    URL:        http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html
  475.  
  476.     This is one of  the  award  wining  courses  at  the 1st WWW conference
  477.     (congratulations  Marcus.  great job).  One of the newest addition here
  478.     is the Dorill C++ course converted to  HTML.   There  is  a  wealth  of
  479.     information  on  C++  available on the World Wide Web (WWW).  The World
  480.     Wide Web (WWW) is a  wide  area hypermedia information retrieval system
  481.     that  gives the user universal access to a large universe of documents.
  482.     One of the most popular to the Web is called Mosaic developed by  NCSA.
  483.     Mosaic  is  an Internet based global hypermedia browser that allows you
  484.     to discover, retrieve and display documents  and data from all over the
  485.     world.   Global  hypermedia means that information located  around  the
  486.     world is interconnected in an environment that  allows  you  to  travel
  487.     through  the  information  by  clicking on hyperlinks-- terms, icons or
  488.     images in documents that point to  other related documents.  Here's the
  489.     URL (Uniform Resource Locator) for the C++ Virtual Course.
  490.  
  491.             http://uu-gna.mit.edu:8001/uu-gna/text/cc/index.html
  492.  
  493.     You might also want to connect  to  info.desy.de and browse.  I found a
  494.     lot  of  great  items such as documents and sources on C++  and  Object
  495.     oriented programming, Internet groups for discussions and questions  on
  496.     C++,  discussion of Object-Oriented Literate Programming and many other
  497.     postscript papers.
  498.  
  499.         http://info.desy.de/general/users.html
  500.  
  501.  
  502. 12) Title:    Programming in C
  503.    Filename:    index.html
  504.    Author:    Jutta Degener
  505.    E-mail:    jutta@cs.tu-berlin.de
  506.    URL:        http://www.lysator.liu.se/c/index.html
  507.  
  508.     
  509.     This is really one of the best  collection of C related items out there
  510.     on  the  World Wide Web maintained by the Lysator computer society,  an
  511.     association of  computer  science  students  at  Linkoping  University,
  512.     Sweden.   Here's a list of some of the items.  There is a great section
  513.     on ANSI C, reviews of 3 books and a list of errata from 2 books.  There
  514.     is a very interesting paper called `A development of the C language' by
  515.     Dennis Ritchie that traces the origin of  the language we know and love
  516.     today.
  517.  
  518.     There is a HTML version of  Kernighan's historical "Programming in C: A
  519.     Tutorial"  from 1974 (that describes an early version of C, four  years
  520.     before K&R.  WARNING: DO NOT USE THIS DOCUMENT  AS  A  TUTORIAL);  also
  521.     included  are  the  "Ten  Commandments  for  C  Programmers  (Annotated
  522.     Version)" and a HTML version of Steve Summit's comp.lang.c FAQ.
  523.     
  524. 13) Title:    C++ Annotations (ver 3.3.3)
  525.    Filename:    cplusplus.html
  526.    Author:    Frank Brokken & Karel Kubat 
  527.    E-mail:    frank@icce.rug.nl, karel@icce.rug.nl
  528.    URL:        http://www.icce.rug.nl/docs/cplusplus/cplusplus.html
  529.  
  530.     This web based tutorial is  intended  for  knowledgeable users of C who
  531.     would  like  to make the transition to C++.  This document presents  an
  532.     introduction to programming in C++.  It  is  a  guide  for  programming
  533.     courses  taught at State University of Groningen This document is not a
  534.     complete C/C++ handbook, but  rather  serves  as  an  great addition to
  535.     other  documentation sources.  The reader should take note of the  fact
  536.     that an extensive knowledge of the C programming  language  is  assumed
  537.     and required.
  538.  
  539.     This document continues where topics of the C programming language end,
  540.     such as pointers, memory allocation and compound types which makes it a
  541.     very good programming guide.  I  highly  recommend this tutorial to any
  542.     individual who is really interested in becoming extremely knowledgeable
  543.     on C++ and a proficient programmer.  Here is a listing of the chapters.
  544.    
  545.         1. Introduction to C++
  546.         2. A first impression of C++
  547.         3. Classes
  548.         4. Classes and memory allocation
  549.         5. Static data and functions
  550.         6. Inheritance 
  551.         7. Polymorphism, late binding and virtuality
  552.         8. Concrete examples of C++ 
  553.         9. Templates
  554.  
  555. 14) Title:    C programming reference 1.1
  556.    Filename:    cref.html
  557.    Author:    Martin Leslie
  558.    E-mail:    leslim@gatwick.Geco-Prakla.slb.com
  559.    URL:        http://vinny.csd.mu.edu/martin/DOC/C/cref.html
  560.    
  561.     This is not an ordinary  C  language  tutorial,  rather  it is a great
  562.     reference  guide for the C programming language.  As the author states,
  563.     "I have found several C  tutorials  and  lessons  on  the  net  but  no
  564.     reference  documents.   This is not an attempt to replace the many high
  565.     quality books available, but does  try  to provide an on-line reference
  566.     that can give answers to questions quickly and without hassle".
  567.  
  568.     Martin has put a lot  of  work  in  this  and the archive is definitely
  569.     worth  checking  out.   One of the nicest item is the  `Function  Quick
  570.     Reference'.  It is a summary of a lot  of  useful  functions  including
  571.     ANSI  standard  functions,  Non  Standard  functions  from CONIO.H, non
  572.     Standard UNIX functions,  user  written  functions  and variable length
  573.     argument  lists  including the library, prototype, syntax  and  example
  574.     programs.  Here's a sample.
  575.  
  576.                          FGETC/GETC FUNCTION 08-MAY-94
  577.                                        
  578.     fgetc and getc both read  a  character  from  a file (input stream) and
  579.     have the same syntax.  They are for all intents and purposes the same!
  580.  
  581.     Library:   stdio.h
  582.  
  583.     Prototype: int fgetc(FILE *stream);
  584.  
  585.     Syntax:    ch = fgetc(file_pointer);
  586.                ch = getc(file_pointer);
  587.  
  588.        [IMAGE] example program.
  589.        See also:
  590.    
  591.        getchar, fgets, gets
  592.        getch, getche (non standard)
  593.  
  594.  
  595.     And if you're really nice to him, he will give a really cool program to
  596.     randomly change the root window  color  on  X Displays.  :) The program
  597.     randomly selects a target color and then performs a basic interpolation
  598.     to  move  from the current color to the target color.  When the  target
  599.     has been reached, a new target is selected and the process is repeated.
  600.  
  601.  
  602.  
  603. Books currently being reviewed:
  604. ------------------------------
  605.  
  606.     If you have any thoughs or comments, please feel free to e-mail me at
  607.     carpenterv@vms.csd.mu.edu
  608.  
  609. 1.  Scientific  and  Engineering   C++:   An   introdcution  with  Advanced
  610.     Techniques  and Examples by John J.  Barton and Lee R.  Nackman 
  611.     (ISBN 0-201-53393-6)
  612.  
  613. 2.  C++ A Pratical Introduction by Brian Hahn (ISBN 1-85554-325-7)
  614.  
  615. 3.  C++ For Dummies by Stephen R.  Davis (ISBN 1-56884-163-9)
  616.  
  617. 4.  The Craft of  C:  Take  Charge  Programming  by  Herbert  Schildt (ISBN
  618.     0-07-881882-6)
  619.  
  620. 5.  C By Discovery by L.S.Foster (ISBN 1-881991-29-6)
  621.  
  622. 6.  Teach yourself C++  programming  in  21  days  by  Jesse  Liberty (ISBN
  623.     0-672-39541-0)
  624.  
  625.  
  626. Books:
  627. ------
  628.  
  629.  
  630. [1] "The C Programming Language" (2nd ed.)
  631.     Brian W. Kernighan & Dennis    Ritchie
  632.     Prentice Hall ISBN: 0-13-110362-8
  633.  
  634.     This is the second edition  of  the  original Kernighan & Ritchie (K&R)
  635.     text.   This  book is  commonly referred to as the New Testament as  it
  636.     includes the modifications incorporated by  the  ANSI  standard,  while
  637.     retaining  the  nature  of the 1st edition.  This book assumes that the
  638.     reader  has  some  basic  programming  knowledge.   So  if  you're just
  639.     starting  to program and C is the first language, this might not be the
  640.     ideal book.  This is one of THE  BEST books  on  C  and  a  must  have,
  641.     especially if you're starting your own little programming library.
  642.  
  643.  
  644. [2] "Programming in ANSI C" (Revised edition: 1994)
  645.     Kochan, Steven
  646.     SAMS Publishing ISBN 0-672-30339-6
  647.  
  648.     This book by  Steve  Kochan  is  absolutely  the  best  book for anyone
  649.     starting  out programming in C.  This is an excellent introductory text
  650.     with frequent examples and good text.  This book makes  no  assumptions
  651.     about the particular computer system or operating system on which the C
  652.     language  is  implemented.   This  books  is  written  for  novices and
  653.     experienced programmers alike.  I  love  this book as the comprehensive
  654.     'teach by examples' book can help you master the unique features of the
  655.     C  language.   There is complete coverage of program looping,  decision
  656.     making, arrays,  strings,  pointers  and  bit  operations  and  helpful
  657.     end-of-chapter  exercises.   This  is the book I used to learn C and it
  658.     really is a great book.  The  K&R  book is really great as a reference,
  659.     but not as the first book.
  660.  
  661.  
  662. [3] "Expert C Programming: Deep C Secrets"
  663.     Peter Van Der Linden
  664.     SunSoft Press. (ISBN 0-13-177429-8)
  665.  
  666.  
  667.     Peter has written one of the  greatest  books  to hit the computer book
  668.     stands  in a long time!  This is not your typical C book, but is rather
  669.     a fun book to read.  As I told Peter,  most  C  programming  texts  are
  670.     really boring as all they do is describe the functions, give a abstract
  671.     example  and  then  move  onto something different.  This book is chock
  672.     full of real world C stories and  folklore, including a story about the
  673.     C  bug that brought down the AT&T network.  I found the tongue-in-cheek
  674.     attitude and real world examples/stories very, very interesting.   Run,
  675.     don't  walk,  down  to  your  local  store and buy this book.  I really
  676.     really loved this book, and I read most of it in one sitting.  There is
  677.     also a great introduction to C++  for  C  programmers that will get you
  678.     started with C++ and Object-Oriented programming.  This book is not for
  679.     beginners, but is a great second book on C.
  680.  
  681.     Expert C Programming is also ideal for  those C programmers who want to
  682.     move  to C++.  According to the author, the book puts the "fun" back in
  683.     "functions" :)
  684.  
  685.  
  686.  
  687. [4] "C: The Complete Reference" (2nd ed.) 
  688.     Schildt, Herbert.
  689.     Osbourne/McGraw-Hill.  (ISBN 0-07-881538-X).
  690.  
  691.     This is a pretty good C language  reference book.  I am more partial to
  692.     the Microsoft C Bible as a reference but this is not a bad book at all.
  693.     If  you're  a beginning C programmer or a seasoned pro, the answers  to
  694.     most of C questions can be found in this one-step resource.  This  book
  695.     presents  an  extensive  summary of C library functions defined by ANSI
  696.     and many common extensions  including  UNIX.   This  book is a must for
  697.     that perfect programmer library.
  698.  
  699. [5] Absolute Beginner's Guide to C
  700.     Perry, Greg
  701.     SAMS Publishing. ISBN 0-672-30341-8
  702.  
  703.     This is a absolutely  beginner's  book.   If  you have never programmed
  704.     before,  this book is for you.  No knowledge of any programming concept
  705.     is assumed.  I like the fact that this book talks to you at your  level
  706.     without  ever talking down to you.  This book does not try to overwhelm
  707.     the  beginners  with  a  lot  of  technical  details  while emphasizing
  708.     introductory  principles.  If you've never programmed, this is the book
  709.     for you.  If you are familiar with programming, I would suggest  either
  710.     'The  C programming language' by Kernighan & Ritchie or 'Programming in
  711.     ANSI C' by Kochan.
  712.  
  713. [6] Microsoft C Bible. 1990 (2nd ed.)
  714.     Waite Group Staff.
  715.     Howard W. Sams & Company. ISBN 0-672-22620-0 
  716.  
  717.     This book is a must for  every programmer, especially those who program
  718.     in  the  DOS  environment.   The Bible  organizes  and  simplifies  the
  719.     information contained in Microsoft's C  library.   Each  function  page
  720.     gives the purpose, syntax, example call, includes, common uses, returns
  721.     and  examples.  The book also has compatibility check boxes, so you can
  722.     be sure your program compiles with  the Microsoft C v5.0-7.0, Microsoft
  723.     Quick C, Borland Turbo C and UNIX system V compilers.
  724.  
  725. [7] Programming C in 12 Easy Lessons
  726.     Greg Perry  ISBN:0-672-30522-4
  727.     Sams (1st edition, 4/94)
  728.     Reviewed by: Don Lockhart (dlock@nlbbs.com) 
  729.                 
  730.     In a nutshell: This book is  very  well  thought out.  It is very clear
  731.     and  easy to follow for the new user.  It categorizes information  into
  732.     Notes, Tips, Warnings, and starts each lesson with an overview  of  the
  733.     concepts to be presented as well as a review of them at the end of each
  734.     lesson.   Sidebars are also presented with useful relevant information.
  735.     When new terms appear a definition  of  them appears in the page margin
  736.     to  further  explain their usage.  Each lesson ends with some  practice
  737.     "homework" and "extra credit" work to further enhance what you've  just
  738.     learned.   In  the front of the book, there's a tear-out reference card
  739.     with C functions, operators etc on one side, and Turbo C++ editing keys
  740.     and functions on the other side.   In  the  back of the book there's an
  741.     offer for Borland C++ 4.0 or full blown Turbo C++ at "discount rates".
  742.  
  743.     All lesson coding is also pre-typed  on the included diskette.  Also on
  744.     the  disk  you'll  find the answers to all the homework as  well  as  a
  745.     "lite" version of Borland's Turbo C++ compiler.  Differences from  ANSI
  746.     C to C++ are always noted.
  747.  
  748.     I have been "threatening" to learn C  for a couple of years.  This book
  749.     has  quickly  taken me from the sidelines to diving in head first,  and
  750.     actually gotten me excited about it.  The info is well presented, and I
  751.     haven't come up with any questions yet that I have  not  been  able  to
  752.     find  the  answer in the book.  I'm not 100% sure, but I believe when I
  753.     was at the book store there  is  also  a  sequel to this book that even
  754.     gets into more of actually developing applications using C.
  755.  
  756. [8] Teach Yourself C++ 1992
  757.     Herbert Schildt
  758.     Osborne McGraw-Hill. ISBN 0-07-881760-9
  759.  
  760.     Teach Yourself C++ is another  great  book  from Herbert Schildt who is
  761.     more  popular for his great C books.  This book is especially  designed
  762.     for programmers who already know how to  program  in  C.   Based  on  a
  763.     15-minute lesson format, this book includes a lot of exercise and skill
  764.     checks  to  make  sure your programming abilities grow by each chapter.
  765.     This book is  really  the  perfect  introductory  guide  for anyone who
  766.     already knows how to program in C.
  767.     
  768.     According to my sources, this book  is currently under revision.  There
  769.     are  several items missing from this book as it was written before  C++
  770.     was finalized.  I still think it is a pretty nice book.
  771.  
  772.  
  773. [9] The C++ Programming Language (2nd edition)
  774.     Bjarne Stroustrup
  775.     Addison Wesley (ISBN 0-201-53992-6)
  776.  
  777.     Bjarne Stroustrup is the designer of C++  and has written 2 great books
  778.     on C++.  This book is divided into three parts: The first part provides
  779.     a  tutorial introduction to C++.  The second part presents a discussion
  780.     of design and software development issues arising  in  connection  with
  781.     the use of C++ and the third part is a complete reference manual.  With
  782.     the  popularity  of  C++, several independent distributions of C++ have
  783.     come  forward,  but  the  book  discusses   'pure  C++;'  that  is,  no
  784.     implementation  dependent extensions are used.  I have been programming
  785.     in C++ for a while and yet found this book very helpful.   One  of  the
  786.     best  way  to learn a programming language is by writing small programs
  787.     relevant to the item you study.  There are exercises at the end of each
  788.     chapter to test/apply  what  you  learned  in  that particular chapter.
  789.     This  wasn't  the book I used to learn C++ and I only recently  got  it
  790.     from DEC [DEC ships this book with their C++ compiler in lieu  of  real
  791.     documentation :)], but I wish I had gotten it sooner.  This is really a
  792.     great  book and worth every penny. 
  793.  
  794.     There is also a book called  "The  C++ answer book" by Tony L.  Hansen.
  795.     (Addison-Wesley  ISBN # is 0-201-11497-6) and it contains the solutions
  796.     to the problems in "The C++ Programming Language" by Bjarne Stroustrup.
  797.  
  798.  
  799.  
  800. [10]Using Visual C++
  801.     Shammas, Namir
  802.     Que Corporation  ISBN: 1-56529-626-5
  803.  
  804.     A lot of people have e-mailed me asking for recommendation for a Visual
  805.     C++/MS-Windows programming book and  the  one I use/recommend is 'Using
  806.     Visual  C++'.   This book is aimed at readers who are already  familiar
  807.     with C++ and Windows.  This book covers many  programming  topics  that
  808.     use  C++  and the Microsoft Foundation Classes (MFC).  This book starts
  809.     with an overview of  the  Visual  C++  workbench and the MFC hierarchy.
  810.     The  book  also  discusses the AppWizard, ClassWizard  and  App  Studio
  811.     utility.  This book really lets you take  full  advantage  of  the  C++
  812.     compiler and all the utilities that come with it.  Microsoft provides a
  813.     lot of great information with the compiler package, but I found it hard
  814.     to  look  through  20 different manuals to find some basic information.
  815.     By the time you finish this book, you  will be ready to create your own
  816.     MS-Windows  applications.   Windows programming is pretty complex,  but
  817.     this comprehensive guide shows you efficient and proven  techniques  to
  818.     build powerful applications.  
  819.  
  820.     Another great  book  is  'Visual  C++:  A  Developer's  Guide'  by Alex
  821.     Leavens.  (ISBN 1-55851-339-6) This book explores the comprehensive set
  822.     of  programming  tools that come with Visual C++.  This book shows  you
  823.     how to take advantage of MFC, OLE 2.0, add sounds  to  various  Windows
  824.     systems events and creating icons, cursors and bitmaps images.
  825.  
  826.  
  827.  
  828. [11]C++ Primer  (2nd edition)
  829.     Lippman, Stanley B
  830.     Addison Wesley  ISBN 0-201-54848-8
  831.  
  832.     The C++ Primer is a great book and  will make learning C++ a joy.  This
  833.     really  is  one of the best books C++ book out there, but it assumes  a
  834.     lot of familiarity with programming concepts and a  proficiency  in  C.
  835.     Everyone  I know who uses C++ recommends this book very highly.  If you
  836.     are interested in  learning  more  about  Object  Oriented Program, you
  837.     might consider buying "Object Oriented Design" by Peter Coad and Edward
  838.     Yourdon" (ISBN 0-13-630070-7)
  839.  
  840.  
  841. [12]"C++ FAQs: Frequently Asked Questions"
  842.     Marshall P. Cline and Greg A. Lomow
  843.     Addison-Wesley ISBN 0-201-58958-3
  844.  
  845.     When I first heard  about  the  book,  it  thought  it  would just be a
  846.     reprint  of  the  electronic version of the FAQ, but I  was  pleasantly
  847.     surprised when I got my hands on the book (Thanks Deborah) This  is  no
  848.     mere  reprint.   This  is a *great great* book that contains answers to
  849.     about 500 questions on programming, design, analysis and testing.  This
  850.     book is not for beginners, but for programmers who have figured out the
  851.     syntax of the language, and are looking to implement them.  If you have
  852.     questions like  "What  is  a  class  invariant?",  "How  should  I  use
  853.     exceptions?",  "What happens when a destructor is executed?", then this
  854.     is the book for you.
  855.  
  856.     This is a very practical book  that contains answers to some real-world
  857.     programming  questions  that  will  really help  anyone  involved  with
  858.     software development.  I just wish I had this book around  when  I  was
  859.     taking  my  C++  classes.  Unlike other books, this book contains about
  860.     200 complete program rather than code  snippets that leave you guessing
  861.     about the implementation.  This book is a definite jem and should be in
  862.     every  single  programmers  library.  Go out and buy 2 copies  of  this
  863.     book: One for the office and one for the nightstand at home.
  864.  
  865.  
  866. [13]Learn C++ on the Macintosh
  867.     Dave Mark
  868.     Addison-Wesley ISBN 0-201-62204-1
  869.  
  870.     This book comes  with  a  customized  version  of  Symantec C++ for the
  871.     Macintosh.   In addition, there is a coupon for obtaining the  complete
  872.     version of Symantec C++ at a much reduced  price.   I  would  recommend
  873.     this  book for those who are just beginning to program in C++; however,
  874.     it does assume at least  a  working  knowledge  of C.  There is a quick
  875.     review  of  C at the beginning.  Dave Mark also has a book 'Learn C  on
  876.     the  Macintosh'.   It  has  the  same  great  style  and  comes  highly
  877.     recommended.  Thanks Lizann Bolinger.
  878.  
  879.  
  880. [14]Effective C++
  881.     Scott Meyers
  882.     Addison-Wesley ISBN 0-201-56364-9
  883.  
  884.     This is just a  great  great  book  on  C++  and  is  a  must for every
  885.     programming  library.   The book is a listing of things which you  must
  886.     get right if your program is to be  safe  and  reliable,  and  a  clear
  887.     description  of what it means to get them `right.' The book raises some
  888.     very interesting issues that every  programmer faces.  C++ provides the
  889.     structure  and  the means to talk about them in a concrete way  and  to
  890.     program them explicitly.
  891.  
  892.     The author is working on another C++  book, and the title will be "More
  893.     Effective  C++.   " Here's more information that the author  posted  in
  894.     comp.lang.c++.  If all goes according to  plan,  "More  Effective  C++"
  895.     should be available around the end of September.
  896.  
  897.     As for  the  book  itself,  "More  Effective  C++"  will  use  the same
  898.     Item-based  organization  that I used in "Effective C++," but  it  will
  899.     cover all new material, and it will not assume that readers  have  read
  900.     "Effective  C++."  (If  they  have,  so much the better, but it's not a
  901.     prerequisite.) As such, "More  Effective  C++"  isn't really "Effective
  902.     C++, Volume 2," though it can be read that way, if you like.
  903.  
  904.     Like "Effective C++," "More  Effective  C++"  will  cover  a variety of
  905.     topics.   One  of those topics will be efficiency.  The  current  draft
  906.     contains at  least  12  Items  on  that  topic  alone,  and  efficiency
  907.     considerations  comprise a thread that winds through many of the book's
  908.     other Items, too.
  909.  
  910. [15]Scientific and Engineering C++: An introduction with advanced techniques 
  911.     and examples
  912.     John J. Barton and Lee R. Nackman
  913.     Addison Wesley ISBN 0-201-53393-6
  914.     Reviewed-by: ajayshah@cmie.ernet.in (Ajay Shah)
  915.  
  916.     A plethora of books on C++ exists;  the  above promises to be a book on
  917.     numerical computation in C++.  The authors are both from T.  J.  Watson
  918.     Research Center and they do numerical computation for a living.
  919.  
  920.     Before we get to what the book offers, we should clarify what it is not
  921.     : It is not a Numerical Recipes.   It does not discuss the mathematical
  922.     ideas underlying numerical algorithms, and it presents no library which
  923.     you can start off using from day 1.
  924.  
  925.     Instead the authors are attacking a different problem, that of applying
  926.     OOP in its C++ incarnation  to  do  numerical computation.  The typical
  927.     reader is expected to be someone who is currently getting his work done
  928.     in  C  or  Fortran  and  would like to migrate  to  C++.   The  authors
  929.     literally start from scratch in this enterprise; they have two versions
  930.     of chapter 1, one aimed  at  migrants  from  C  and  another  aimed  at
  931.     migrants from Fortran.
  932.  
  933.     Does the book succeed  in  these  objectives?   For  the major part, my
  934.     answer would be Yes.  I will address two issues here:
  935.  
  936.  o  Teaching C++ and OOP 
  937.  
  938.     This is done reasonably well.   However,  I  expect anyone who actually
  939.     plunges  into C++ seriously will want the primary two books on C++  too
  940.     (i.e.  Stroustrup and Lippman).  They do a  good  job  of  the  overall
  941.     question  of applying OOP to scientific computation, but I have a guess
  942.     that you would come up with a lot of this yourself, and that your sense
  943.     of taste may differ from theirs to some extent.
  944.  
  945.  o  Practical advice aimed at numerical computing applications 
  946.  
  947.     I felt the book does really well on  this score.  They take up a series
  948.     of  problems  and give us the benefit of their good taste in coming  up
  949.     with designs.  The last chapter does maximum likelihood using automatic
  950.     differentiation to obtain derivatives -- this is a  lovely  theme  that
  951.     has not been much explored in the literature.
  952.  
  953.     One of the big questions on the  minds of anyone thinking about using C
  954.     or  C++  for numerical computation is the existence of  libraries  like
  955.     linpack; they are incredibly ugly on the score of software engineering,
  956.     but they are incredibly well done on debugging and efficiency.  Between
  957.     f2c and C++, it appears quite possible to hide these ugly (but working)
  958.     beasts under nice modern interfaces.
  959.  
  960.     This issue is really important at  a  practical  level, and so far I've
  961.     only  seen  net.wisdom  on the subject.  The authors deal  with  it  in
  962.     detail.  It would have been awfully nice if they had just  given  us  a
  963.     full  C++ view to lapack :-) but their focus is on ideas, not on giving
  964.     blackboxes of code.
  965.  
  966.     All the source code of the book is on the net.
  967.  
  968.     I'm personally at the stage of  having  browsed  in C++ for a while now
  969.     but  not  having  taken the plunge of fully leaving C yet.   This  book
  970.     feels very useful to me at this point in my transition.
  971.  
  972.  
  973. Conclusion:
  974.  
  975.     C and C++ are great  programming  languages that can make programming a
  976.     lot  of fun.  One of the best ways to learn is by taking a  programming
  977.     class.  See if you can take a class at your school, or take a class  at
  978.     night school.  Programming in C/C++ is a skill that could end up saving
  979.     you your job or help you get a better job.  I hope these tutorials help
  980.     you in your quest to learn the C and C++ programming language.
  981.  
  982.  
  983. Acknowledgment:
  984. ---------------
  985.  
  986.     Steve Summit         scs@eskimo.com
  987.     Lizann Bolinger        bolinger@zeno.ibd.nrc.ca
  988.     Blake Sobiloff        sobiloff@mail.lap.umd.edu
  989.     Alex Wu            wua@cpsc.ucalgary.ca
  990.     Ian Jackson        ijackson@nyx.cs.du.edu
  991.     Peter Vanderlinden    Peter.Vanderlinden@eng.sun.com
  992.         Robin Schogol        rschogol@lehman.com
  993.     Marcus Speh         marcus@x4u.desy.de
  994.     Jutta Degener         jutta@cs.tu-berlin.de
  995.     Joe Dougherty        jdough@gate.net
  996.         Ajay Shah               ajayshah@cmie.ernet.in
  997.     Sonia Hamilton         soniah@magna.com.au
  998.  
  999. ---------
  1000.                * List of C tutorials   Last Update: 04/15/95 *
  1001.        * Compiled By:  Vinit Carpenter -  carpenterv@vms.csd.mu.edu *
  1002.  
  1003.  
  1004.     Note that this document is provided  as  is.   The information in it is
  1005.     *not* warranted to be correct; you use it at your own risk.
  1006.  
  1007. o   The LEARN C/C++ TODAY  List  is  Copyright  1994 by Vinit S.  Carpenter
  1008.     (carpenterv@vms.csd.mu.edu).   It may be reproduced and distributed  in
  1009.     whole or in part, subject to the following conditions:
  1010.  
  1011. o   This  copyright  and  permission  notice   and  the  paragraph  in  the
  1012.     introduction  about  the frequency of updates must be retained  on  all
  1013.     complete or partial copies.
  1014.  
  1015. o   Any translation or  derivative  work  must  be  approved  by  me before
  1016.     distribution.  Email me - I'll will be happy to oblige !
  1017.  
  1018. o   If you wish  to  charge  for  non-machine-readable  copies  you need my
  1019.     approval  before  distribution.   Note  that this  restriction  is  not
  1020.     intended to prohibit charging for the service of printing or copying  a
  1021.     document supplied by your customer.
  1022.  
  1023. o   If  you  distribute  partial  copies  of  this  list,  instructions for
  1024.     obtaining  the  complete  version  must be included, and  a  means  for
  1025.     obtaining a complete version free or at cost price provided.
  1026.  
  1027. o   Exceptions to these rules  may  be  granted,  and  I  shall be happy to
  1028.     answer  any questions about this copyright --- Simply e-mail me.  These
  1029.     restrictions are here to protect the contributors, not to restrict  you
  1030.     as educators and learners.
  1031.  
  1032. o   Vinit Carpenter asserts the  right  to  be  identified as the author of
  1033.     this  work, and claims the moral rights of paternity and integrity,  in
  1034.     accordance with the Copyright, Designs and Patents Act, 1988.
  1035.  
  1036. -----------------------------------------------------------------------------
  1037. Vinit S. Carpenter       Marquette University      carpenterv@vms.csd.mu.edu
  1038. -----------------------------------------------------------------------------
  1039.      Author of the INTERNET-MENU for OpenVMS and LEARN C/C++ TODAY List
  1040.                        Moderator: COMP.BINARIES.IBM.PC
  1041.                           * Email me for details *
  1042.      <a href="http://vinny.csd.mu.edu"> My Personal Linux Web Server</a>
  1043. -----------------------------------------------------------------------------
  1044.                   * Ayrton Senna daSilva - Rest In Peace *
  1045. -----------------------------------------------------------------------------
  1046. Geek Code: GE d? -p+ c++++ l++ u++ e- m--- s+/+ n--- h++ f? g+ w++ t+++ y+ y*
  1047.  
  1048.